/*
 * sintatico.h
 *
 *  Created on: 10/10/2012
 *      Author: wx
 */

#ifndef SINTATICO_H_
#define SINTATICO_H_

//#include "tabelasimbolo.h"

class sintatico {
private:
	vector<token> entrada_tokens;
	int tamtoklist;
	int conttok;

	void found(string);
	void erro(string um, string outro);
	void program();
	void corpo();
	void dc();
	void mais_dc();
	void dc_v();
	void tipo_var();
	void variaveis();
	void mais_var();
	void dc_p();
	void parametros();
	void lista_par();
	void mais_par();
	void corpo_p();
	void dc_loc();
	void mais_dcloc();
	void lista_arg();
	void argumentos();
	void mais_ident();
	void pfalsa();
	void comandos();
	void mais_comandos();
	void comando();
	void restoident();
	void condicao();
	void relacao();
	void expressao();
	void op_un();
	void outros_termos();
	void op_ad();
	void termo();
	void mais_fatores();
	void op_mul();
	void fator();

public:
	sintatico();
	void analisarsintatico(vector<token>);
	bool erro_compila;

	//tabelasimbolo tabelasimbolos;
	//variavel vtemp;
	//procedimento proctemp;

};

#endif /* SINTATICO_H_ */
